Since the 1970's and the creation of ARPANET, the first modern network and predecessor of the Internet, computer interconnectivity or networking has been a typical functionality for host computing devices. With the genesis of the Internet came a clear understanding of the networking of host compute devices, network switch/hubs and network router/gateways. Early network routing devices (originally termed gateways or hubs) utilized single non-virtualized instances of Gateway-to-Gateway Protocol and Exterior Gateway Protocol created by Bold, Beranek and Newman (BBN). The first known logical map of an IP network was for ARPANET, created in March 1977. The ARPANET map shows the physical network of host computers and network devices which utilized early routing protocols to route packets.
Modern networks can include thousands of computing devices in local or geographically remote locations and a large number of subnetworks and thus require more complex arrangements. Many applications include firewalls and various forms of virtualization in their networks that can impede network traffic and network discovery.
As with any complex network, device failure can cause reduction of performance, key services, and critical redundancy. For example, if a network switch fails, numerous computing devices may be left unconnected to the network or left with reduced bandwidth. Typically, the solution is simple involving hardware replacement; however, it is more complex to identify the root cause of the failure. For example, a common scenario is that a portion of a large network experiences a lack of functionality such as reachability, and the originating cause can be any number of problems, thereby causing the information technology (IT) personnel to have to sequentially attempt methods to diagnose the problem, an effective but lengthy process.
A solution to this issue is network management software which can monitor key components of the network and provide status indicators to appropriate IT personnel. Network switches and routers possess physical ports which permit them to behave as hosts on the network. Just as one host may contact another, a network management program running on a host can contact a switch or a router for management purposes. This includes configuration changes and queries of the state, interconnectivity, and performance of the switch, router or other network device. Protocols like Simple Network Management Protocol (SNMP) permit the query of network devices for physical characteristics like the state of a port on a network switch and for some logical characteristics like the status of a single routing protocol on a router. This is done by querying an Object Identifier (OID) for an object in a Management Information Base (MIB), which is a data structure contained in the network device. Other query approaches are possible such as manual observation of output from commands entered on a command-line interface (CLI) or automation of said manual process. Network management software is currently typically dependent upon being able to reach the management addresses of devices to collect physical connectivity information between network devices as well as hosts. This approach generally works within the control plane of the network device and thus provides primarily a single physical view of the network. At present, this method cannot produce a logical hierarchy of distinct logical views with or without overlapping IP address space.
Another approach utilizes network mapping software. Network mapping software is executed on a computing device coupled to the subject network and attempts to determine the network structure by sending inquiries throughout the network. This process works for networks which are logically contiguous, in which rules permit the communication to all locations and which no logical discontinuities exist. This approach generally works within the data plane or data paths of the network device and thus provides primarily a logical view of the network. However, it cannot create multiple logical levels or one where IP addressing space is overlapping between multiple logical levels.
Network device virtualization was created in part to more fully utilize network hardware and reduce the number of devices needed to support diverse modern networks. Network switch virtualization segments switches into logical partitions known as Virtual Local Area Networks (VLANs). Each logical partition allows the communication of devices with the proper IP address and subnet to communicate with devices on the same VLAN. Separate VLANs allow a limited number of hosts to communicate across an isolated set of ports assigned to the VLAN in which they are connected. The only method of communication between devices on different VLANs is through a connection to a router. Thus, host devices on the same given VLAN can communicate with each other, but cannot communicate with host devices in a different VLAN without an interconnecting router.
Network link virtualization has been common for over a decade with the creation of IEEE 802.1q, a protocol permitting the combining (trunking) of multiple VLANs over a single physical connection. For example, in a typical network, a network switch using IEEE 802.1q can instantiate multiple VLANs on a single connection and different connections can use any combination of VLANs. Combining network switch virtualization and network link virtualization without routing even without the use of firewalls will create separated switched domains and isolated switch paths in a network. Network mapping software could resolve this by connecting to separate interfaces, but this has several problems concerning scale and connecting to all VLANs. Drawing a network with VLANs from inquiries only within the data plane is also difficult. Devices communicating on a single VLAN can be supported with different physical configurations. A virtualized link connection may occur between a switch and a host compute device, two switches, or a switch and a router. When multiple VLANs pass between a network switch and a host compute device, this allows the host to participate in several different networks along possibly isolated network paths created by link, switch, and router virtualization. Current network management and network mapping software have difficulty in displaying such diverse discontinuous network logic possibilities that VLANs can support, particularly when router virtualization is involved.
Network router virtualization may contain multiple routing instances or Virtual Route Forwarding (VRF) Instances for creating separate routing domains within a physical router. In combination with link and switch virtualization, a virtual infrastructure may be constructed with unique paths which can be isolated or combined depending on configuration and creativity. A network router with virtual routing has tables for each virtual routing instance which contain records. The router table records relate items such as network scope, next hop and logical or physical path out of the device to the next hop destination depending on routing protocol utilized. Network scope may be the network and subnet, next hop may be the final destination or another router, and the path out of the device may be logical which is related to a specific physical path. A single network router may have virtual routers with overlapping IP address space that may indicate the same devices or may not which creates difficulty for existing network management systems. Virtual routers and the mapping of physical and logical interfaces segment devices in ways that prohibit existing network management systems and network mapping systems from accurately providing correct logical maps. For example, network mapping software working within a data plane is not aware of the virtual networking configuration, thus the network displayed may include breaks and improper visibility of host computers or network devices. The correct mapping and visualization of a virtualized network infrastructure requires another method in order for IT staff to properly visualize the layers of virtualization and understand the network complexities.
Another approach is disclosed in U.S. Pat. No. 8,274,912 to Wray et al. This approach discloses a method for mapping and discovery of a virtual network. The method uses user packets and mines the user packets for information, such as the destination and source addresses. Nevertheless, this method may not visualize a multiple virtual domain network or show multiple logical connections with a single physical entity as the technology relates to host computer virtualization and not network device virtualization. It cannot resolve multiple overlapping IP address space concerns and create a correct view of a network which works at multiple independent logical isolated paths.